function resetDefaultMdlAdvCfg()
%RESETDEFAULTMDLADVCFG 重置模型顾问的默认配置
%   此函数将模型顾问（Model Advisor）的默认配置重置为工厂默认设置。
%   清除之前设置的自定义配置，恢复到MATLAB安装时的原始状态。
%
%语法:
%   resetDefaultMdlAdvCfg()
%
%输入参数:
%   无
%
%输出参数:
%   无
%
%说明:
%   - 首先检查Simulink Check许可证是否可用
%   - 关闭所有当前打开的Simulink模型以避免冲突
%   - 调用ModelAdvisor.setDefaultConfiguration('')重置配置
%   - 显示重置完成的确认消息
%   - 如果许可证不可用，显示警告信息
%
%重置效果:
%   - 清除所有自定义的检查规则配置
%   - 恢复到MATLAB原始的检查项目设置
%   - 清除用户定义的检查参数
%   - 重置报告生成设置
%   - 恢复默认的检查组织和分类
%
%配置持久性:
%   模型顾问的默认配置更改在MATLAB会话间保持有效。
%   此重置操作也是永久性的，直到再次被修改。
%
%使用场景:
%   - 解决配置冲突或错误
%   - 恢复到已知的稳定状态
%   - 项目环境清理和重新开始
%   - 故障排除和诊断
%   - 团队环境标准化前的清理
%
%与setDefaultMdlAdvCfg的关系:
%   - setDefaultMdlAdvCfg: 设置项目特定的配置
%   - resetDefaultMdlAdvCfg: 重置到工厂默认配置
%   - 两者互为反向操作
%
%示例:
%   % 基本重置操作
%   resetDefaultMdlAdvCfg();
%   fprintf('模型顾问配置已重置到工厂设置\n');
%
%   % 配置问题排查工作流
%   function troubleshootModelAdvisor()
%       fprintf('开始模型顾问配置故障排查...\n');
%       
%       % 1. 重置到工厂设置
%       resetDefaultMdlAdvCfg();
%       
%       % 2. 测试基本功能
%       try
%           checkModelStds('TestModel');
%           fprintf('✓ 基本功能正常\n');
%       catch ME
%           fprintf('✗ 基本功能异常: %s\n', ME.message);
%           return;
%       end
%       
%       % 3. 重新设置项目配置
%       setDefaultMdlAdvCfg();
%       fprintf('配置故障排查完成\n');
%   end
%
%   % 环境重置序列
%   function resetModelAdvisorEnvironment()
%       fprintf('重置模型顾问环境...\n');
%       
%       % 关闭所有模型
%       bdclose('all');
%       
%       % 重置配置
%       resetDefaultMdlAdvCfg();
%       
%       % 清理工作空间
%       resetWorkspace();
%       
%       fprintf('模型顾问环境重置完成\n');
%   end
%
%   % 团队环境标准化
%   function standardizeTeamModelAdvisor()
%       fprintf('标准化团队模型顾问设置...\n');
%       
%       % 1. 重置所有人到相同起点
%       resetDefaultMdlAdvCfg();
%       
%       % 2. 应用统一的项目配置
%       setDefaultMdlAdvCfg();
%       
%       % 3. 验证配置
%       fprintf('团队模型顾问设置标准化完成\n');
%   end
%
%   % 配置比较和验证
%   function compareConfigurations()
%       % 保存当前配置状态（如果需要）
%       fprintf('比较配置前后差异...\n');
%       
%       % 重置到默认
%       resetDefaultMdlAdvCfg();
%       fprintf('已重置到工厂默认配置\n');
%       
%       % 可以在这里测试默认行为
%       % ...
%       
%       % 恢复项目配置
%       setDefaultMdlAdvCfg();
%       fprintf('已恢复项目特定配置\n');
%   end
%
%注意事项:
%   - 重置操作会丢失所有自定义配置
%   - 在重置前考虑备份当前配置
%   - 重置后需要重新应用项目特定设置
%   - 影响所有后续的模型顾问运行
%
%许可证要求:
%   此函数需要Simulink Check许可证。如果许可证不可用，
%   函数会显示警告但不会中断执行。
%
%模型管理:
%   函数会自动关闭所有打开的模型以避免配置冲突。
%   如果有未保存的模型，请在调用前手动保存。
%
%依赖项:
%   dig.isProductInstalled - 检查产品安装状态
%   bdclose - 关闭Simulink模型
%   ModelAdvisor.setDefaultConfiguration - 设置模型顾问配置
%   disp - 显示消息
%
%参见:
%   setDefaultMdlAdvCfg, ModelAdvisor.setDefaultConfiguration, bdclose
%

%版本: 1.0
%日期: 2021-2024
%


%   

if dig.isProductInstalled('Simulink Check')
    % Close all models.
    bdclose('all');
    % Set default Model Advisor configuration.
    ModelAdvisor.setDefaultConfiguration('');
    disp('Reset the default Model Advisor configuration to factory settings.')
else
    warning('A Simulink Check license is not available.');
end

end
